home *** CD-ROM | disk | FTP | other *** search
-
- /*
- RexxDoesAmigaGuide2HTML V1.0 written at 11 Apr 1996 by Michael Ranner
- This piece of code is Public Domain. Use it, distribute it, modify it!
- */
-
- arg opt
-
- if index(opt, '?') ~= 0 then do
- say 'Source/A Dest/A SingleFile/S'
- exit
- end
-
- if index(opt, 'SINGLEFILE') ~= 0 then do
- single = 1
- opt = delword(opt, find(opt, 'SINGLEFILE'))
- end
- else single = 0
-
- call open('Guide', word(opt, 1), 'R')
-
- if single = 1 then do
- open('HTML', word(opt, 2),'W')
- open = 1
- srcline = readln('Guide')
-
- if upper(word(srcline, 1)) = '@DATABASE' then do
- writeln('HTML', '<HTML>')
- writeln('HTML', '<HEAD>')
- writech('HTML', '<TITLE>')
- writech('HTML', word(srcline, 2))
- writeln('HTML', '</TITLE>')
- writeln('HTML', '<BODY>')
- end
- else do
- say "That's not a AmigaGuide file!"
- exit
- end
- end
-
- do until eof('Guide') = 1
- srcline = readln('Guide')
- index = index(srcline, '&')
-
- do while index ~= 0
- srcline = insert('amp;', srcline, index)
- index = index(srcline, '&', index + 1)
- end
-
- index = index(srcline, '<')
-
- do while index ~= 0
- srcline = insert('lt;', srcline, index)
- srcline = overlay('&', srcline, index)
- index = index(srcline, '<', index + 1)
- end
-
- index = index(srcline, '>')
-
- do while index ~= 0
- srcline = insert('gt;', srcline, index)
- srcline = overlay('&', srcline, index)
- index = index(srcline, '>', index + 1)
- end
-
- if index(srcline, '@') ~= 0 then do
-
- token = upper(word(srcline, 1))
-
- select
-
- when token = '@AUTHOR' then do
- say 'Author: ' || subword(srcline, 2)
- end
-
- when token = '@$VER:' then do
- say 'Version: ' || subword(srcline, 2)
- end
-
- when token = '@REMARK' then do
- say 'Remark: ' || subword(srcline, 2)
- end
-
- when token = '@NODE' then do
-
- node = compress(word(srcline, 2), ' "')
- say 'Node:' node
-
- if upper(node) = 'MAIN' then do
- main = 1
- node = upper(node)
- end
- else main = 0
-
- if single = 1 then do
- writeln('HTML', '<A NAME="' || node || '"></A>')
- writeln('HTML', '<PRE>')
- end
- else do
- open('HTML', compress(node, ' "').HTML, 'W')
- open = 1
- prev = ''
- next = ''
- writeln('HTML', '<HTML>')
- writeln('HTML', '<HEAD>')
- writech('HTML', '<TITLE>')
- writech('HTML', word(srcline, 2))
- writeln('HTML', '</TITLE>')
- writeln('HTML', '<BODY>')
- writeln('HTML', '<PRE>')
- end
- end
-
- when token = '@NEXT' then do
- next = compress(word(srcline, 2), ' "')
- end
-
- when token = '@PREV' then do
- prev = compress(word(srcline, 2), ' "')
- end
-
- when token = '@ENDNODE' then do
- writeln('HTML', '</PRE><P>')
-
- if single = 0 then do
- writeln('HTML', '<HR>')
- if main = 0 then writeln('HTML', '<A HREF="MAIN.HTML">[Main]</A>')
- if prev ~= '' then writeln('HTML', '<A HREF="' || prev || '.HTML">[Prev]</A>')
- if next ~= '' then writeln('HTML', '<A HREF="' || next || '.HTML">[Next]</A>')
- writeln('HTML', '<P>Converted at 'date()' with RexxDoesAmigaGuide2HTML by <a href="http://www.sbox.tu-graz.ac.at/home/rmike">Michael Ranner</a>.')
- writeln('HTML','</BODY>')
- call close('HTML')
- open = 0
- end
- end
-
- otherwise do
- dstline = ''
-
- do while srcline ~= ''
-
- PARSE VAR srcline start '@{' text '}' srcline
- token = upper(text)
-
- select
-
- when token = 'I' then dstline = dstline || start || '<I>'
- when token = 'UI' then dstline = dstline || start || '</I>'
- when token = 'B' then dstline = dstline || start || '<B>'
- when token = 'UB' then dstline = dstline || start || '</B>'
-
- otherwise do
- PARSE VAR text '"' name '"' token node .
- token = upper(token)
- name = compress(name,'"')
- node = compress(node,'"')
-
- if token = 'LINK' then do
-
- if single = 1 then dstline = dstline || start || '<A HREF="#' || node || '">' || name || '</A>'
- else dstline = dstline || start || '<A HREF="' || node || '.HTML">' || name || '</A>'
-
- end
- else dstline = dstline || start
- end
- end
- end
-
- if open = 1 then do
-
- if (index(dstline, '@') = 1) then writeln('HTML', '')
- else writeln('HTML', dstline)
-
- end
- end
- end
- end
- else if open = 1 then writeln('HTML', srcline)
- end
-
- if single = 1 then do
- writeln('HTML', '<HR>')
- writeln('HTML', 'Converted at 'date()' with RexxDoesAmigaGuide2HTML by <a href="http://www.sbox.tu-graz.ac.at/home/rmike">Michael Ranner</a>.')
- writeln('HTML','</BODY>')
- close('HTML')
- end
-
- close('Guide')
-